package com.tbit.main.constant;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;

/**
 * 系统常量
 *
 * @author Leon
 * 2019年1月23日 下午3:50:47
 */
@Configuration
@RefreshScope
public class SysConstant {
    public final static String ENCODE = "UTF-8";
    /**
     * 原始
     */
    public final static int ORIGINAL = 0;
    /**
     * 百度
     */
    public final static int BAIDU = 1;
    /**
     * 谷歌 高德 腾讯
     */
    public final static int GOOGLE = 2;
    /**
     * 蓝牙连接加密key
     */
    public static String BLE_KEY = "TBIT_WA205-7HBLE";
    /**
     * 超级短信验证码
     */
    public static String SUPER_SMSCODE;
    /**
     * 运维人员轨迹
     */
    public static String HISTORY = "ACCOUNTUSER";
    /**
     * 后台版本号
     */
    public static String VERSION;
    /**
     * 地址表述key
     */
    public static String QQ_key;
    /**
     * Google Authenticator 密钥secretKey
     */
    public static String SUPER_PASSWORD_AUTH_SECRET;
    /**
     * Google Authenticator 口令位数
     */
    public static String SUPER_PASSWORD_AUTH_DIGITS;
    /**
     * Google Authenticator 口令有效期(单位：秒)
     */
    public static String SUPER_PASSWORD_AUTH_EXPIRE;
    /**
     * Google Authenticator 密钥secretKey 第二种
     */
    public static String SUPER_PASSWORD_AUTH_SECRET_PLUS;
    /**
     * Google Authenticator 口令位数 第二种
     */
    public static String SUPER_PASSWORD_AUTH_DIGITS_PLUS;
    /**
     * Google Authenticator 口令有效期(单位：秒) 第二种
     */
    public static String SUPER_PASSWORD_AUTH_EXPIRE_PLUS;

    public static String WEATHER_KEY;
    /**
     * 高德地址翻译开关
     */
    public static Boolean GD_MAP_SWITCH;
    /**
     * 高德地址翻译key
     */
    public static String GD_MAP_KEY;

    @Value("${tbit-system.GD_MAP_SWITCH}")
    public void initGdMapSwitch(Boolean s) {
        GD_MAP_SWITCH = s;
    }

    @Value("${tbit-system.GD_MAP_KEY}")
    public void initGdMapKey(String s) {
        GD_MAP_KEY = s;
    }
    @Value("${tbit-system.Version}")
    public void setVersion(String version) {
        VERSION = version;
    }

    @Value("${WEATHER-KEY}")
    public void setWeatherKey(String weatherKey) {
        WEATHER_KEY = weatherKey;
    }

    @Value("${tbit-system.qq-geocoder-key}")
    public void setkey(String key) {
        QQ_key = key;
    }

    @Value("${tbit-system.smscode}")
    public void setSuperSmscode(String superSmscode) {
        SUPER_SMSCODE = superSmscode;
    }

    @Value("${tbit-system.blekey}")
    public void setBleKey(String bleKey) {
        BLE_KEY = bleKey;
    }

    @Value("${tbit-system.SUPER_PASSWORD_AUTH_SECRET}")
    public void initSuperPasswordAuthSecret(String s) {
        SUPER_PASSWORD_AUTH_SECRET = s;
    }

    @Value("${tbit-system.SUPER_PASSWORD_AUTH_DIGITS}")
    public void initSuperPasswordAuthDigits(String s) {
        SUPER_PASSWORD_AUTH_DIGITS = s;
    }

    @Value("${tbit-system.SUPER_PASSWORD_AUTH_EXPIRE}")
    public void initSuperPasswordAuthExpire(String s) {
        SUPER_PASSWORD_AUTH_EXPIRE = s;
    }

    @Value("${tbit-system.SUPER_PASSWORD_AUTH_SECRET_PLUS}")
    public void initSuperPasswordAuthSecretPlus(String s) {
        SUPER_PASSWORD_AUTH_SECRET_PLUS = s;
    }

    @Value("${tbit-system.SUPER_PASSWORD_AUTH_DIGITS_PLUS}")
    public void initSuperPasswordAuthDigitsPlus(String s) {
        SUPER_PASSWORD_AUTH_DIGITS_PLUS = s;
    }

    @Value("${tbit-system.SUPER_PASSWORD_AUTH_EXPIRE_PLUS}")
    public void initSuperPasswordAuthExpirePlus(String s) {
        SUPER_PASSWORD_AUTH_EXPIRE_PLUS = s;
    }


    /**
     * 用于监听到RefreshEvent事件后操作触发创建新实例对象
     */
    public void refresh() {
        System.out.println("刷新配置，触发创建新实例对象");
    }
}
